﻿Imports System.Environment

Public Class frmMenu
    Private szSQL As String
    Private rs As ADODB.Recordset = Nothing

    Private Sub frmMenu_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        ' lire les paramètres de l'application
        ctDSN_AEM = My.Settings.ConnectionBD

        ' tester la connection avec la BD MySQL
        If IsConnectionOK() = False Then
            ' fin programme
            End
        End If

        ' Ouvrir le form Identification
        frmLogin.ShowDialog()
        If gUserCode = "___" Then
            ' fin programme
            End
        End If

        ' déterminer l'agence du client avec les 3 premiers lettres du nom
        szSQL = "CALL spGet_USER_AGENCE('" & nv(GetEnvironmentVariable("CLIENTNAME")) & "')"
        GetRecordset(ctDSN_AEM, szSQL, rs)
        If rs.RecordCount > 0 Then
            gUserAgence = rs.Fields("agence").Value
            gNomAgence = rs.Fields("nom").Value
        Else
            MsgBox("Agence non trouvé ! ", MsgBoxStyle.Critical)
            End
        End If
        rs.Close()

        ' afficher dans le menu les infos de l'utilisateur
        lb_UserNom.Text = gUserNom
        lb_NO_AGENCE.Text = gUserAgence
        ' Lire l'agence de l'utilisateur et affiche son nom
        gNomAgence = getLibelleByCode("P_AGENCES", gUserAgence)
        lb_NomAgence.Text = gNomAgence
        Me.Text = "PROSPECTS - " & gNomAgence
        Me.TE_VERSION.Text = String.Format("Version {0}", My.Application.Info.Version.ToString)
        If ctDSN_AEM.Contains("bd_aem") = False Then
            lb_NO_AGENCE.ForeColor = Color.Red
        End If

    End Sub

    ' Tester la connection avec la base de données
    Private Function IsConnectionOK() As Boolean

        Dim conn As ADODB.Connection

        'enable error handler
        On Error GoTo ErrorHandler

        IsConnectionOK = False
        conn = New ADODB.Connection

        ' tester la connection avec MySQL
        conn.Open(ctDSN_AEM)
        conn.Close()
        ' conn.Dispose()
        IsConnectionOK = True
        Exit Function

ErrorHandler:
        MsgBox("Erreur lors de la connection à la BD : " & Err.Number & vbCrLf & Err.Description, MsgBoxStyle.Critical)
        End

    End Function

    Private Sub BO_PROSPECTS_Click(sender As System.Object, e As System.EventArgs) Handles BO_PROSPECTS.Click
        frmProspects.ShowDialog()
    End Sub

    Private Sub BO_AGENDA_Click(sender As System.Object, e As System.EventArgs) Handles BO_AGENDA.Click
        frmAgenda.ShowDialog()
    End Sub

    Private Sub QuitterToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles QuitterToolStripMenuItem.Click
        ' Fermer AGENDA
        Application.Exit()
    End Sub

    Private Sub ChangerDagenceToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles ChangerDagenceToolStripMenuItem.Click
        ' utilisateur autorisé à exécuter cette fonction ?
        ' 12/12/2011 : autoriser les secrétaires 
        If IsUserAuthorised(7) = False Then
            Exit Sub
        End If
        ' cHanger d'agence
        frmChangeAgence.ShowDialog()
        ' Lire l'agence de l'utilisateur et affiche son nom
        gNomAgence = getLibelleByCode("P_AGENCES", gUserAgence)
        Me.Text = "PROSPECTS - " & gNomAgence
    End Sub
End Class